#ifndef CUBOID_DIALOG_H
#define CUBOID_DIALOG_H

#include <QDialog>
#include <QtGui>
#include "cuboidPrimitive.h"
#include "objectTreeItem.h"

class CuboidDialog : public QDialog{
    Q_OBJECT

    public:
        CuboidDialog(int, QWidget * = 0);
        CuboidDialog(CuboidPrimitive *, ObjectTreeItem *, QWidget * = 0);
        ~CuboidDialog();

    signals:
        void done(Object *);
        void done();

    private:
        CuboidPrimitive *cuboid;
        ObjectTreeItem *item;
        int id, ambientR, ambientG, ambientB, diffuseR, diffuseG, diffuseB, specularR, specularG, specularB;
        double minX, minY, minZ, maxX, maxY, maxZ;

        QPushButton *ambientPushButton;
        QPushButton *diffusePushButton;
        QPushButton *specularPushButton;

//        QDoubleSpinBox *minXDoubleSpinBox;
//        QDoubleSpinBox *minYDoubleSpinBox;
//        QDoubleSpinBox *minZDoubleSpinBox;
//        QDoubleSpinBox *maxXDoubleSpinBox;
//        QDoubleSpinBox *maxYDoubleSpinBox;
//        QDoubleSpinBox *maxZDoubleSpinBox;

        void createLayout();
        void setButtonColor();

    private slots:
        void acceptAndCreate();
        void changeAmbient();
        void changeDiffuse();
        void changeSpecular();
//        void changeMinX(double);
//        void changeMinY(double);
//        void changeMinZ(double);
//        void changeMaxX(double);
//        void changeMaxY(double);
//        void changeMaxZ(double);
};

#endif
